// //加入2个nextTick()的回调函数
// process.nextTick(function () {
//     console.log("nextTick延迟执行A");
// });
// process.nextTick(function () {
//     console.log("nextTick延迟执行B");
//     setImmediate(function () {
//         console.log("setImmediate延迟执行C");
//     });
//     process.nextTick(function () {
//         console.log("nextTick延迟执行D");
//     });
// });
// //加入两个setImmediate()回调函数
// setImmediate(function () {
//     console.log("setImmediate延迟执行E");
//     process.nextTick(function () {
//         console.log("强势插入F");
//     });
//     setImmediate(function () {
//         console.log("setImmediate延迟执行G");
//     });
// });
// setImmediate(function () {
//     console.log("setImmediate延迟执行H");
//     process.nextTick(function () {
//         console.log("强势插入I");
//     });
//     process.nextTick(function () {
//         console.log("强势插入J");
//     });
//     setImmediate(function () {
//         console.log("setImmediate延迟执行K");
//     });
// });
// console.log("正常执行L");


// console.log(require.extensions)

// console.log(__dirname,__filename)


// var vm = require("vm");
// var util = require("util");
// var window = {
//     p: 2,
//     vm: vm,
//     console: console,
//     require: require
// };

// window.global = window;

// var p = 5;

// global.p = 11;

// vm.runInNewContext('p = 3;console.log(global);require(\'vm\').runInThisContext("console.log(p)");', window);



// window.global = window;

// var p = 5;

// global.p = 11;

// vm.runInNewContext('console.log(global.p, p);p = 3;console.log(global.p);require(\'vm\').runInThisContext("console.log(p)");', window);




// 'use strict';
// // console.log(this,global)
// function a(){
// console.log( this)
// }

// array = ["张三","李四","王五"]
// array.splice(1,0,"张四")
// console.log(array)

// console.log(1+ false)

// let a = [1, 6, 3, 5, 0, 40, 35, 1, 65, 2, 30, 19]
// let b = a.filter((item) => { return item > 3 && item < 30 });
// console.log(a, b)

// let a = [1,2,3]

// let b = a.map((ele) => {
//     return ele + 1
// })
// console.log(a,b)

// var obj = Object.assign({},{ a: 1 },{  b: 2, c: 3, e:5 },{ a: 3,  c: 6 });//给一个空对象作为target，这样改变的是空对象
// console.log(obj);// { a: 1, b: 2, c: 3 }
// let a= 1 != 2
// console.log(a)

// function DeepClone (obj) {
// 	if (obj === null || typeof obj !== 'object') return obj;
// 	var cpObj = obj instanceof Array ? [] : {};
// 	for (var key in obj) cpObj[key] = DeepClone(obj[key]);
// 	return cpObj;
// }

// var obj = {
// 	id: 1,
// 	name: 'xxx',
// 	sayName: function (a) {
// 		console.log('my name is ' + a);
// 	},
// 	childs: [
// 		{'a': 1}, 
// 		{'c': 'd'}, 
// 	],
// 	opts: {
// 		xxx: [1,2,'3'],
//         aa: 'bb',
//         sss: function (a) {
//             console.log('my name is ' + a);
//         },
// 	},
// };
// // var newObj = DeepClone(obj);
// // console.log(obj)
// // console.log(newObj)
// // obj.childs[0].a = 3
// // newObj.childs[0].a = 8
// // console.log(obj)
// // console.log(newObj)
// // obj.opts.xxx[2] = "asjhfa"
// // newObj.opts.xxx[2] = "qwe"
// // console.log(obj)
// // console.log(newObj)

// console.log(JSON.stringify(obj))
